package models;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;

import play.data.validation.Required;
import play.db.jpa.Model;

@Entity
public class TemplatePlan extends Model {
    
	@Required
	private String nombre;
	
	private Integer caloriasDiarias;
	
	@ManyToOne
	private Nutri autor;
	
	@OneToMany(cascade=CascadeType.ALL)
	private Set<ComidaPlan> comidasPlan = new HashSet<ComidaPlan>();
	
	@Enumerated(EnumType.STRING)
	@Required
	private TipoPlan tipo;
	
//	@ElementCollection(targetClass = Integer.class)
//	@MapKeyType(value=@Type(type="models.Alimento"))
//	private Map<Alimento, Integer> alimentosIngeridos;
//	
	
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public Integer getCaloriasDiarias() {
		return caloriasDiarias;
	}
	
	public void setCaloriasDiarias(Integer caloriasDiarias) {
		this.caloriasDiarias = caloriasDiarias;
	}
	
	public Nutri getAutor() {
		return autor;
	}
	
	public void setAutor(Nutri autor) {
		this.autor = autor;
	}
	
	public Set<ComidaPlan> getComidasPlan() {
		return comidasPlan;
	}
	
	public void setComidasPlan(Set<ComidaPlan> comidasPlan) {
		this.comidasPlan = comidasPlan;
	}
	
	public TipoPlan getTipo() {
		return tipo;
	}
	
	public void setTipo(TipoPlan tipo) {
		this.tipo = tipo;
	}
	
}
